package main

import "fmt"

// 定义 Animal 接口

type Animal interface {
	Eat()  // 声明 Eat 方法
	Move() // 声明 Move 方法
}

// ==== 定义 Dog Start ====
// 定义 Dog 类
type Dog struct {
}

// 实现 Eat 方法
func (d *Dog) Eat() {
	fmt.Printf("Eating bones")
}

// 实现 Move 方法
func (d *Dog) Move() {
	fmt.Printf("Moving with four legs")
}

// ==== 定义 Dog End ====

// ==== 定义 Human Start ====
// 定义 Human 类
type Human struct {
}

// 实现 Eat 方法
func (h *Human) Eat() {
	fmt.Printf("Eating rice")
}

// 实现 Move 方法
func (h *Human) Move() {
	fmt.Printf("Moving with two legs")
}

func main() {
	s := Animal(&Human{})
	s.Eat()

}
